<?php
declare (strict_types=1);

namespace app\<module>\service;

use app\common\service\BaseService;
use app\<module>\model\<model>;
use think\facade\Db;

/**
 * <service>逻辑
 * Class <service>Service
 * @package app\<module>\service
 */
class <service>Service extends BaseService
{

    /**
     * @notes 获取列表
     * @param array $params
     * @param array $page
     * @return array
     */
    public function get<service>Lists(array $params, array $page)
    {
        // 自定义查询条件
        $filler = [];

        // 查询列表
        $result = <model>::where($filler)
            ->order(['<pk>' => 'desc'])
            ->paginate([
                'page' => $page['page'],
                'list_rows' => $page['size'],
            ]);

        return $result->toArray();
    }

    /**
     * @notes 添加
     * @param $params
     * @return bool
     */
    public function add<service>($params): bool
    {
        // 启动事务
        Db::startTrans();
        try {
            //添加数据
            <model>::create($params);
            // 提交事务
            Db::commit();
            return true;
        } catch (\Exception $e) {
            // 回滚事务
            Db::rollback();
            $this->setError($e->getMessage());
            return false;
        }
    }

    /**
     * @notes 编辑
     * @param $params
     * @return bool
     */
    public function edit<service>($params): bool
    {
        // 启动事务
        Db::startTrans();
        try {
            //更新数据
            <model>::update($params);
            // 提交事务
            Db::commit();
            return true;
        } catch (\Exception $e) {
            // 回滚事务
            Db::rollback();
            $this->setError($e->getMessage());
            return false;
        }
    }

    /**
     * @notes 详情
     * @param int $id
     * @return array
     */
    public function get<service>Detail(int $id)
    {
        return <model>::findOrEmpty($id)->toArray();
    }

    /**
     * @notes 删除
     * @param int $id
     * @return bool
     */
    public function del<service>(int $id): bool
    {
        return <model>::destroy($id);
    }


}